-------------------------------------------------------------------------------
                API SETIS de Impressão para Terminais Android
-------------------------------------------------------------------------------

**************
* INTRODUÇÃO *
**************

Esta API foi concebida com o objetivo de:
    - Abstrair as diferenças entre os SDK's de impressão dos diferentes
    equipamentos Android (tipicamente, Terminais POS Android).

    - Fornecer funções de alto nível, de fácil integração para aplicações
    que queiram utilizar funções de impressão em diversos formatos, desde a
    impressão simples de uma única linha, até a formatação de comprovantes
    utilizando HTML, abstraindo as possíveis diferenças de características
    do hardware de determinadas impressoras.

    - Ser de fácil gerenciamento para aplicações multi-plataforma.

Conteúdo do pacote:
    - Pasta libs: Contém as bibliotecas genéricas de integração, com a Interface
    de impressão e definições comuns de camadas.
        - Pasta libs/dispositivos: Contém as bibliotecas com a implementação do
        módulo para cada dispositivo/fabricante.

    - Pasta docs: Contém as documentações necessárias para integração, contendo:
        - Javadoc com os métodos para as chamadas da API.
        - Documentação das tags HTML suportadas por esta API.


Integração:
    - A biblioteca "printer-vx.x.x.aar é obrigatória.

    - As bibliotecas específicas por equipamento "printer_xxx-vy.y.aar" devem
    ser incluídas sob demanda (opcionalmente pode-se incluir todas as libs no
    projeto).

*****************
* RELEASE NOTES *
*****************

Printer
-------------------------------------------------------------------------------
- Camada de impressão genérica, para integração, sendo implementada por
dispositivo.

    v1.0.0 - 20/dez/2018
    ---------------------------------------------------------------------------
    - Primeira versão

    v1.0.1 - 29/ago/2019
    ---------------------------------------------------------------------------
    - Suporte para impressora Newland.

    v1.1.2 - 03/fev/2020
    ---------------------------------------------------------------------------
    - Correção do alinhamento da impressão.

    v1.1.3 - 03/fev/2020
    ---------------------------------------------------------------------------
    - Correção do espaçamento entre chamadas do printLine.

    v1.1.4 - 19/mar/2020
    ---------------------------------------------------------------------------
    - Adição de método util para armazenar um bitmap, por seu nome, em arquivo
    no diretório data/data.

     v1.1.5 - 8/mai/2020
     ---------------------------------------------------------------------------
     - Adicionado tratamento em printHtml para manter a formatação ao utilizar tags mult-linhas

     v1.1.6 - 27/mai/2020
     ---------------------------------------------------------------------------
     - Removido as dependencias core-2.3.0.jar e commons-lang-2.4.jar do módulo printer_n910.
     - Corrigido mapeamento de módulos conforme a descrição documentada abaixo.

     v1.2.0 - 29/jun/2020
     ---------------------------------------------------------------------------
     - Impressão de código de barras nos formatos 128 e ITF.
     - Impressão de QRCode.
     - Removido a obrigatoriedade da integração passar o nome do dispositivo.

     v1.3.0 - 03/ago/2020
     ---------------------------------------------------------------------------
     - Adicionado métodos para gravar e recuperar os logs da printer.

     v1.3.1 - 09/jun/2021
     ---------------------------------------------------------------------------
     - Atualização da PrinterN910.

     v1.3.2 - 09/jun/2021
     ---------------------------------------------------------------------------
     - Atualização: Adicionado novo modelo de terminal para Gertec: GPOS700X.

     v1.3.3 - 16/ago/2023
     ---------------------------------------------------------------------------
     - Nova Funcionalidade: Adicionado novo terminal para Gertec: GPOS780.

     v1.4.0 - 17/jan/2024
     ---------------------------------------------------------------------------
     - Nova Funcionalidade: Adicionado novo módulo printer_gpos720 para terminais
     Gertec GPOS720.

     v1.5.0 - 31/jan/2024
     ---------------------------------------------------------------------------
     - Nova Funcionalidade: Adicionado novo módulo printer_newpos para terminais
         Newpos N9220.

     v1.5.1 - 08/mar/2024
     ---------------------------------------------------------------------------
     - Ajustado método para gerar logs.

     v1.5.2 - 10/ago/2024
     ---------------------------------------------------------------------------
     - Nova Funcionalidade: Adicionado novo módulo printer_sunmi para terminais
                           Sunmi P3.

     v1.5.3 - 03/fev/2025
     ---------------------------------------------------------------------------
     - Correção: Adicionado novo Build.Model para terminal P3.
     - Nova Funcionalidade: Suporte ao terminal Sunmi P2.

     v1.5.4 - 02/abr/2025
     ---------------------------------------------------------------------------
     - Melhoria: Adicionado replace no file_provider para definir a autoridade
                da impressora como principal quando uma biblioteca também
                utilizar o file_provider.

     v1.5.5 - 03/abr/2025
     ---------------------------------------------------------------------------
     - Correção: removida a permissão para criação de arquivos externos.
     - Correção: os arquivos de log agora são salvos no diretório interno
                do projeto.

     v1.5.6 - 20/mai/2025
     ---------------------------------------------------------------------------
     - Nova Funcionalidade: Adicionado novo módulo printer_gpos760 para terminais
                           GPOS760.

     v1.5.7 - 28/mai/2025
     ---------------------------------------------------------------------------
     - Nova Funcionalidade: Suporte ao terminal GPOS790 utilizando o módulo printer_gpos760.

     v1.5.8 - 17/jun/2025
          ---------------------------------------------------------------------------
          - Nova Funcionalidade: Suporte ao terminal P3 Mix da Sunmi.

     v1.5.9 - 20/ago/2025
               ---------------------------------------------------------------------------
               - Atualização: update do SDK no módulo printer_ep5855 (Elgin/WizarPOS).

Printer Simulado
-------------------------------------------------------------------------------
- Camada de simulação de comprovantes. Utilizada para testes da lógica e do
layout do comprovante, na ausência de um dispositivo físico (Terminal) de testes.
Módulo: "printer_simulado"


    v1.0 - 20/dez/2018
    ---------------------------------------------------------------------------
    - Primeira versão

    v1.1 - 19/mar/2020
    ---------------------------------------------------------------------------
    - Impressão simulada através de armazenamento em arquivo.

    v1.2 - 29/jun/2020
    ---------------------------------------------------------------------------
    - Impressão simulada: código de barras e QRCode.

    v2.0 - 06/ago/2020
    ---------------------------------------------------------------------------
    - Adicionado método para gerar logs.

    v2.2 - 08/mar/2024
    ---------------------------------------------------------------------------
    - Ajustado método para gerar logs.


Printer Pax
-------------------------------------------------------------------------------
- Implementação para o terminal Pax A920.
Módulo: "printer_a920"

    v1.0.0 - 18/jul/2018
    ---------------------------------------------------------------------------
    - Primeira versão

    v1.1.0 - 06/ago/2020
    ---------------------------------------------------------------------------
    - Impressão: código de barras e QRCode.
    - Adicionado método para gerar logs.

    v1.1.1 - 08/mar/2024
    ---------------------------------------------------------------------------
    - Ajustado método para gerar logs.


Printer Ingenico
-------------------------------------------------------------------------------
- Implementação para o terminal Pax A920.
Módulo: "printer_a8"

    v1.0.0 - 11/jul/2018
    ---------------------------------------------------------------------------
    - Primeira versão

    v1.1.0 - 06/ago/2020
    ---------------------------------------------------------------------------
    - Impressão: código de barras e QRCode.
    - Adicionado método para gerar logs.

    v1.1.2 - 08/mar/2024
    ---------------------------------------------------------------------------
    - Ajustado método para gerar logs.


Printer Gertec - GPOS700, GPOS700X e GPOS780
-------------------------------------------------------------------------------
- Implementação para os termais Gertec GPOS700, GPOS700X e GPOS780.
Módulo: "printer_gpos700" -> Utiliza o SDK GEDI.

    v1.0 - 20/dez/2018
    ---------------------------------------------------------------------------
    - Primeira versão

    Testado com:
    libpayment: 1.14.10.181016 ("printer_gpos700")

    v1.2 - 01/jun/2020
    ---------------------------------------------------------------------------
    - Removida a printer Gertec obsoleta.

    Testado com:
    libpayment: 1.14.10.181016 ("printer_gpos700")

    v1.3 - 29/jun/2020
    ---------------------------------------------------------------------------
    - Impressão: código de barras e QRCode.

    Testado com:
    libpayment: 1.14.15.200208 ("printer_gpos700")

    v2.0 - 06/ago/2020
    ---------------------------------------------------------------------------
    - Adicionado método para gerar logs.

    v2.1 - 08/mar/2024
    ---------------------------------------------------------------------------
    - Ajustado método para gerar logs.

    Testado com:
    libpayment: 1.14.15.200208 ("printer_gpos700")


Printer Gertec - GPOS720
-------------------------------------------------------------------------------
- Implementação para o terminal Gertec GPOS720.
Módulo: "printer_gpos720" -> Utiliza o SDK GEDI.

    v1.0 - 17/jan/2024
    ---------------------------------------------------------------------------
    - Primeira versão

    v1.1 - 08/mar/2024
    ---------------------------------------------------------------------------
    - Ajustado método para gerar logs.

    Testado com:
    libpayment: libgedi-0.16.20-gpos720 ("printer_gpos720")


Printer Gertec - GPOS760 e GPOS790
-------------------------------------------------------------------------------
- Implementação para o terminal Gertec GPOS760.
Módulo: "printer_gpos760" -> Utiliza o SDK GEDI.

    v1.0 - 20/mai/2025
    ---------------------------------------------------------------------------
    - Primeira versão

     v1.1 - 28/mai/2025
    ---------------------------------------------------------------------------
    - Adicionado suporte ao terminal GPOS790.

    Testado com:
    libpayment: libgedi:2.1.1-2db23dd-gposNeo-payment-release ("printer_gpos760")


Printer Verifone
-------------------------------------------------------------------------------
- Implementação para o terminal Verifone Carbon.
Módulo: "printer_carbon"

    v1.0 - 20/dez/2018
    ---------------------------------------------------------------------------
    - Primeira versão

    Testado com:
    DeveloperSDK: 2.6.670.9737bdf7-2006670

    v2.0 - 06/ago/2020
    ---------------------------------------------------------------------------
    - Impressão: código de barras e QRCode.
    - Adicionado método para gerar logs.

    v2.1 - 08/mar/2024
    ---------------------------------------------------------------------------
    - Ajustado método para gerar logs.

    Testado com:
    DeveloperSDK: 2.6.670.9737bdf7-2006670

- Implementação para o terminal Verifone X990
Módulo: "printer_x990"

    v1.0 - 21/nov/2019
    ---------------------------------------------------------------------------
    - Primeira versão

    v2.0 - 06/ago/2020
    ---------------------------------------------------------------------------
    - Impressão: código de barras e QRCode.
    - Adicionado método para gerar logs.

    v2.1 - 08/mar/2024
    ---------------------------------------------------------------------------
    - Ajustado método para gerar logs.


Printer Newland
-------------------------------------------------------------------------------
- Implementação para o terminal Newland N910
Módulo: "printer_n910"

    v1.0.0 - 29/ago/2019
    ---------------------------------------------------------------------------
    - Primeira versão

    v1.1.0 - 22/nov/2019
    ---------------------------------------------------------------------------
    - Ajuste para remover os conflitos da lib de impressão quando utilizada
    em conjunto com a bcnewland

    v1.1.1 - 24/jan/20
    ---------------------------------------------------------------------------
    - Correção no alinhamento do comprovante, respeitando a tag DE62.

    v1.1.2 - 27/mai/20
    ---------------------------------------------------------------------------
    - Removido as dependencias core-2.3.0.jar e commons-lang-2.4.jar do módulo printer_n910.

    Testado com:
    meSdk: 3.6.0-SNAPSHOT

    v1.1.3 - 20/jun/20
    ---------------------------------------------------------------------------
    - Impressão: código de barras e QRCode.

    Testado com:
    meSdk: 3.6.0-SNAPSHOT

    v1.2.0 - 06/ago/2020
    ---------------------------------------------------------------------------
    - Adicionado método para gerar logs.

    Testado com:
    meSdk: 3.6.0-SNAPSHOT

    v1.2.2 - 09/jun/2021
    ---------------------------------------------------------------------------
    - Correção: PrintImage estava limpando da memória a imagem enviada para impressão.

    v1.2.3 - 08/mar/2024
    ---------------------------------------------------------------------------
    - Ajustado método para gerar logs.

    Testado com:
    meSdk: 3.7.95-RELEASE


Printer Elgin
-------------------------------------------------------------------------------
- Implementação para o terminal Elgin EP5855
Módulo: "printer_ep5855"

    v1.0 - 21/nov/2019
    ---------------------------------------------------------------------------
    - Primeira versão

    v1.1 - 27/nov/2019
    ---------------------------------------------------------------------------
    - Ajustes na printer elgin.

    v2.0 - 06/ago/2020
    ---------------------------------------------------------------------------
    - Impressão: código de barras e QRCode.
    - Adicionado método para gerar logs.

    v2.1 - 08/mar/2024
    ---------------------------------------------------------------------------
    - Ajustado método para gerar logs.

     v2.2 - 08/mar/2024
        ---------------------------------------------------------------------------
        - Atualizado SDK para versão: cloud-pos-sdk:V1.7.5.1_Standard

Printer Newpos
-------------------------------------------------------------------------------
- Implementação para o terminal Newpos N9220
Módulo: "printer_newpos"

    v1.0.0 - 31/jan/2021
    ---------------------------------------------------------------------------
    - Primeira versão

    v1.0.1 - 08/mar/2024
    ---------------------------------------------------------------------------
    - Ajustado método para gerar logs.

Printer Sunmi
-------------------------------------------------------------------------------
- Implementação para os terminais Sunmi
Módulo: "printer_sunmi"

    v1.0.0 - 08/out/2024
    ---------------------------------------------------------------------------
    - Primeira versão

    v1.0.1 - 02/mai/2025
    ---------------------------------------------------------------------------
    - Adiconado: TecToyLib e PayLib.
    - Nova Implementação: Definida a intensidade de impressão para o máximo permitido, que é 200.

    v1.0.2 - 03/abr/2025
    ---------------------------------------------------------------------------
    - Correção: remoção da configuração de intensidade de impressão da PrinterSunmi.